﻿//Mirco Töpfer

using System;
using System.Collections.Generic;
using pheidippides.logging.Classes;

namespace pheidippides.logging.Interfaces
{
    public interface ILogger
    {
        //Methode zum generieren eines neuen Logeintrages
        void LogMessage(String message, LogLevel logLevel);

        //Methode zum generieren eines Logeintrages mit Exception
        void LogException(String message, Exception ex, LogLevel logLevel);

        //Wechseln des LogLevels zur Laufzeit
        void ChangeLogLevel(LogLevel logLevel);

        //Holen der letzten 100 Logeinträge
        List<LogEntry> GetLogEntrys();

        //Event zum Informieren über neue Logeinträge
        event NewLogEntry OnNewLogEntry;

        //Gibt die letzen LogEntrys als String zurück
        String GetLastLogEntrysString();
    }
}